یک بسته مخرب Python در مخزن Python Package Index (PyPI) پیدا شده است که از Unicode به عنوان ترفندی برای فرار از شناسایی و استقرار یک بدافزار سرقت اطلاعات استفاده می کند.
پکیج مد نظر که onyxproxy نام دارد، در ۱۵ مارچ ۲۰۲۳ به pypi آپلود شده و قابلیت های استخراج اطلاعات هویتی و دیگر داده های ارزشمند را دارد. این پکیج از همان زمان از سرور حذف شده اما قبل از این کار ۱۸۳ بار دانلود شده است.
طبق گفته شرکت امنیتی زنجیره تامین نرم افزار Phylum، این بسته رفتار مخرب خود را در یک اسکریپت راه اندازی که با هزاران رشته کد به ظاهر قانونی بسته بندی شده است، ترکیب می کند.
این رشتهها ترکیبی از فونتهای پررنگ و مورب را شامل میشوند و همچنان قابل خواندن هستند و میتوانند توسط مفسر پایتون تجزیه شوند، فقط برای فعال کردن اجرای بدافزار دزد پس از نصب بسته.
این شرکت خاطرنشان کرد: یک مزیت آشکار و فوری این طرح عجیب خوانایی است. علاوه بر این، این تفاوتهای قابل مشاهده مانع از اجرای کد نمیشوند، که این کار را میکند.
این به دلیل استفاده از انواع یونیکد از همان کاراکتر (معروف به هموگلیف) برای استتار رنگ واقعی آن (به عنوان مثال، خود در مقابل 𝘀𝘦𝘭𝘧) در میان توابع و متغیرهای بی ضرر امکان پذیر شده است.
استفاده از یونیکد برای تزریق آسیبپذیریها به کد منبع قبلاً توسط محققان دانشگاه کمبریج، نیکلاس بوچر و راس اندرسون در یک تکنیک حمله به نام Trojan Source فاش شده بود.
چیزی که این روش فاقد پیچیدگی است، آن را با ایجاد یک کد جدید مبهم، علیرغم نشان دادن نشانههای آشکار تلاشهای کپی-پیست از منابع دیگر، جبران میکند.
این توسعه تلاشهای مستمر بخشی از عوامل تهدید را برای یافتن راههای جدیدی برای عبور از دفاعهای مبتنی بر تطبیق رشتهها، با استفاده از «چگونه مفسر پایتون با یونیکد مدیریت میکند تا بدافزار آنها را مبهم کند» برجسته میکند.
در یادداشتی مرتبط، شرکت امنیت سایبری کانادایی PyUp کشف سه بسته جدید جعلی پایتون – aiotoolbox، asyncio-proxy و pycolorz – را که بهطور تجمعی بیش از ۱۰۰۰ بار دانلود شده و برای بازیابی کد مبهم از یک سرور راه دور طراحی شدهاند، توضیح داد.